package com.cskaoyan.javase.recursion._2depth;

/**
 * 测试某个方法的递归深度（允许递归的次数）
 * @since 11:27
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        sum(0);
    }
    public static int sum(int a) {
        try {
            /*
                try代码块当中放可能出现异常的正常代码逻辑
             */
            return a + sum(a - 1);
        } catch (StackOverflowError error) {
            /*
                catch代码的小括号中写匹配的异常
                当try代码块中产生了和小括号中能够匹配的异常时
                就会执行catch代码块中的代码
                并且这是一种异常处理的方式—捕获处理异常
                这时异常就不会导致程序终止了
             */
            System.out.println("sum方法" + a + "层");
        }
        return 0;
    }
}
